package com.bawei.handler_app

import android.os.*
import androidx.appcompat.app.AppCompatActivity
import android.util.Log
import android.view.View

/**
  handler依赖于Looper
 1。子线程发送消息给主线程（主线程创建handler）：没问题 Looper提前创建好了
 2。主线程发消息给子线程（子线程创建handler）：报错  Looper需要自己创建
 */
class MainActivity2 : AppCompatActivity() {
    private  var handler:Handler? = null



    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main2)




        Thread{
            //子线程创建handler提前创建looper
            Looper.prepare()
            handler = object :Handler(){
                override fun handleMessage(msg: Message) {
                    super.handleMessage(msg)
                    Log.d("ytx", "handleMessage: ")
                }
            }
            Looper.loop()//开启死循环不断获得消息
        }.start()

    }

    fun send(view: View) {
        //主线程给子线程发送消息
        handler?.sendEmptyMessageDelayed(101,3000)
    }
}